package com.open.capacity.reimburse.service;

import com.open.capacity.reimburse.entity.BillReception2People;
import com.open.capacity.reimburse.entity.StdTraining;

import com.open.capacity.commons.PageResult;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;
import java.util.List;

/**
 * 培训费标准
 *
 * @author
 * @email
 * @date 2021-03-19 11:50:53
 */
public interface StdTrainingService {
    /**
     * 添加
     *
     * @param stdTraining
     */
    int save(StdTraining stdTraining) throws Exception;

    /**
     * 修改
     *
     * @param stdTraining
     */
    int update(StdTraining stdTraining) throws Exception;

    /**
     * 删除
     *
     * @param id
     */
    int delete(String id);


    /**
     * 查询记录
     *
     * @param id
     * @return
     */
    StdTraining findById(String id);

    /**
     * 分页
     *
     * @param params
     * @return
     */
    PageResult<StdTraining> pageAll(Map<String, Object> params);

    /**
     * 列表
     *
     * @param params
     * @return
     */
    List<StdTraining> findAll(Map<String, Object> params);

    /**
     * 校验培训费金额是否超标
     *
     * @param userId      当事人
     * @param attendCount 参与人数
     * @param workerCount 工作人数
     * @param startDate   开始日期
     * @param endDate     结束日期
     * @param money       金额
     * @return
     */
    String verify(String userId, Integer attendCount, Integer workerCount, Date startDate, Date endDate, BigDecimal money);
}

